This invention relates in general to the field of generation of random numbers, and in particular to quick start generation of random bit streams for use in electronic data encryption.
Many electronic digital data encrypting devices require a random bit stream. To ensure complete encryption security, no periodic sequence can be used; i.e., a sequence from a standard pseudo-random number generator consisting of shift registers and exclusive-OR gates is not adequate. A completely secure random number generator must use a truly random or non-deterministic data generation technique. Some applications also require the random number generator to operate on no more than 5 volts (V) and to produce random numbers immediately on system start up.
A number of techniques can be used for developing random numbers having non-deterministic statistical properties. Among these are the use of noise from a variety of sources, including zener diodes, gaseous discharges, light-emitting diodes (LEDs), and thermionic diodes. In addition, it may be possible to use the phase jitter of a number of oscillators with a frequency modulation (FM) detector as a source.
Each of the random number generation techniques listed above has limitations, and may not be appropriate for certain applications. The zener diode technique requires controlling the zener bias point and limiter threshold so that the random numbers produced are not skewed toward either ones or zeros. Also, zener diodes in the region of 5 V do not generate noise well, limiting applications of the technique. Gaseous discharges, e.g., neon tubes, generate a relatively low level of noise and require a high voltage and power. LEDs exhibit a large amount of variability, are unpredictable, and do not have a characterized noise ouput. Thermionic diodes require a relatively high voltage and high power. The phase jitter of oscillators technique would involve considerable complexity and a relatively large number of components.
A need exists, therefore, for a method and apparatus for the generation of random numbers where such generation produces usable noise reliably and without requiring a high voltage or high power. The need also exists for a system which can produce a random bit stream upon start-up, without requiring a significant time to produce a random output. It would be desirable if such a system also self-adjusted to prevent producing a skewed distribution toward ones or zeros.